@@ -1,4 +1,4 @@
Build Makefile
_build blib
-META.yml Makefile.PL SIGNATURE
+META.json META.yml MYMETA.json MYMETA.yml Makefile.PL SIGNATURE
Crypt-Eksblowfish-*
@@ -14,6 +14,8 @@ Module::Build->new(
configure_requires => {
"Module::Build" => 0,
"perl" => "5.006",
+ "strict" => 0,
+ "warnings" => 0,
},
build_requires => {
"ExtUtils::CBuilder" => "0.15",
@@ -1,3 +1,22 @@
+version 0.009; 2011-04-28
+
+ * in XS, use PERL_NO_GET_CONTEXT for efficiency
+
+ * in XS, declare "PROTOTYPES: DISABLE" to prevent automatic generation
+ of unintended prototypes
+
+ * jump through hoops to avoid compiler warnings
+
+ * use full stricture in test suite
+
+ * in Build.PL, complete declaration of configure-time requirements
+
+ * slightly reformat some Perl and C code to avoid exceeding 80 columns
+
+ * include META.json in distribution
+
+ * add MYMETA.json and MYMETA.yml to .cvsignore
+
version 0.008; 2010-03-11
* bugfix: avoid memory leak when returning block to Perl space
@@ -2,6 +2,7 @@
Build.PL
Changes
MANIFEST
+META.json
META.yml
Makefile.PL
README
@@ -0,0 +1,83 @@
+{
+ "abstract" : "the Eksblowfish block cipher",
+ "author" : [
+ "Solar Designer (solar at openwall.com)",
+ "Andrew Main (Zefram) <zefram@fysh.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.110580",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Crypt-Eksblowfish",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::CBuilder" : "0.15",
+ "Module::Build" : 0,
+ "Test::More" : 0,
+ "perl" : "5.006",
+ "strict" : 0,
+ "warnings" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "Module::Build" : 0,
+ "perl" : "5.006",
+ "strict" : 0,
+ "warnings" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Class::Mix" : "0.001",
+ "Exporter" : 0,
+ "MIME::Base64" : "2.21",
+ "XSLoader" : 0,
+ "parent" : 0,
+ "perl" : "5.006",
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "provides" : {
+ "Crypt::Eksblowfish" : {
+ "file" : "lib/Crypt/Eksblowfish.pm",
+ "version" : "0.009"
+ },
+ "Crypt::Eksblowfish::Bcrypt" : {
+ "file" : "lib/Crypt/Eksblowfish/Bcrypt.pm",
+ "version" : "0.009"
+ },
+ "Crypt::Eksblowfish::Blowfish" : {
+ "file" : "lib/Crypt/Eksblowfish/Blowfish.pm",
+ "version" : "0.009"
+ },
+ "Crypt::Eksblowfish::Family" : {
+ "file" : "lib/Crypt/Eksblowfish/Family.pm",
+ "version" : "0.009"
+ },
+ "Crypt::Eksblowfish::Subkeyed" : {
+ "file" : "lib/Crypt/Eksblowfish/Subkeyed.pm",
+ "version" : "0.009"
+ },
+ "Crypt::Eksblowfish::Uklblowfish" : {
+ "file" : "lib/Crypt/Eksblowfish/Uklblowfish.pm",
+ "version" : "0.009"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "0.009"
+}
@@ -13,9 +13,10 @@ build_requires:
configure_requires:
Module::Build: 0
perl: 5.006
-distribution_type: module
+ strict: 0
+ warnings: 0
dynamic_config: 0
-generated_by: 'Module::Build version 0.3603'
+generated_by: 'Module::Build version 0.38, CPAN::Meta::Converter version 2.110580'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,22 +25,22 @@ name: Crypt-Eksblowfish
provides:
Crypt::Eksblowfish:
file: lib/Crypt/Eksblowfish.pm
- version: 0.008
+ version: 0.009
Crypt::Eksblowfish::Bcrypt:
file: lib/Crypt/Eksblowfish/Bcrypt.pm
- version: 0.008
+ version: 0.009
Crypt::Eksblowfish::Blowfish:
file: lib/Crypt/Eksblowfish/Blowfish.pm
- version: 0.008
+ version: 0.009
Crypt::Eksblowfish::Family:
file: lib/Crypt/Eksblowfish/Family.pm
- version: 0.008
+ version: 0.009
Crypt::Eksblowfish::Subkeyed:
file: lib/Crypt/Eksblowfish/Subkeyed.pm
- version: 0.008
+ version: 0.009
Crypt::Eksblowfish::Uklblowfish:
file: lib/Crypt/Eksblowfish/Uklblowfish.pm
- version: 0.008
+ version: 0.009
requires:
Carp: 0
Class::Mix: 0.001
@@ -52,4 +53,4 @@ requires:
warnings: 0
resources:
license: http://dev.perl.org/licenses/
-version: 0.008
+version: 0.009
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.3603
+# Note: this file was auto-generated by Module::Build::Compat version 0.3800
require 5.006;
unless (eval "use Module::Build::Compat 0.02; 1" ) {
@@ -36,7 +36,7 @@ Modifications and Perl interface by Andrew Main (Zefram)
COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
The original Eksblowfish code (in the form of crypt()) from which
@@ -1,5 +1,5 @@
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.61.
+signed via the Module::Signature module, version 0.66.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
@@ -14,37 +14,38 @@ not run its Makefile.PL or Build.PL.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 0bc3351e37b3dbc594fe80cd16f49aee2a6b17b6 .cvsignore
-SHA1 7993422c730b3cbd66e75bf0c7ab08b1043b8eb6 Build.PL
-SHA1 a07be5655476c243f1f100b02a843d8eee359fb6 Changes
-SHA1 84bd916d8a2c3f833fa36df262ef1033a805f606 MANIFEST
-SHA1 63b6e67d8428a570adc8dfe6d031d8d429237653 META.yml
-SHA1 f8469f20cf26bafaffabb905631b945ab0f81289 Makefile.PL
-SHA1 ebbf0cbaf9cac56b0edac0775c3bf13e3959e974 README
+SHA1 1056e548e8fc802cf9e547d3a1ac86708c90f132 .cvsignore
+SHA1 e655960831df6355f525b51095559d95045da7b2 Build.PL
+SHA1 55c49c1b1043d82dd7784a8cdb0b2ee08d5068b4 Changes
+SHA1 7aed7cddf47ea2ad0d3f355851344a231d1f8c01 MANIFEST
+SHA1 7e2d0343f5cc744c28e988bbcde680b5a419afb4 META.json
+SHA1 7cf6de35cd0ee6241aa0a1b4a18df50859703f68 META.yml
+SHA1 a4df8e97ccd390a42212af5a9f4d0986c85e7a5f Makefile.PL
+SHA1 5cfbb041c39258e6515e4df053f0e0e697cbd9bb README
SHA1 1008eae74fc0ed04ffe262cf934bbe7ef3b56c18 lib/Crypt/.cvsignore
-SHA1 6813ff7ddc5b2bc24bf269fb1c391aa7794fb177 lib/Crypt/Eksblowfish.pm
-SHA1 665e5d44550cdd82a87b0d9c5d2c18bc18c9eece lib/Crypt/Eksblowfish.xs
-SHA1 beaf93583713b76d341436973ac679981717bbc9 lib/Crypt/Eksblowfish/Bcrypt.pm
-SHA1 f2929098a5a8e60ad9034cac5c9ae5b859cbce1b lib/Crypt/Eksblowfish/Blowfish.pm
-SHA1 0f024a713d9fd2e57ee691dba837314398b03782 lib/Crypt/Eksblowfish/Family.pm
-SHA1 9aea04b43961955bb23a2061e5e0d50cabdf37f0 lib/Crypt/Eksblowfish/Subkeyed.pm
-SHA1 686ebeb4b1d891f48cee4623953ce56defa93ea5 lib/Crypt/Eksblowfish/Uklblowfish.pm
-SHA1 4ad6608276c06b7df4a493bafa06795ecbec7f91 t/base64.t
-SHA1 22879b7c32306921b426a16eb38ee783c28b49db t/bcrypt.t
-SHA1 ab642bf302d854ce2d3dd6b2ac157c048958d924 t/bcrypt_hash.t
-SHA1 78281a46f37b2d462a6466fbcd2a8c286244d92c t/blowfish.t
-SHA1 295d7ffc486abcafa5322371fcdf238b1a1d3ead t/eksblowfish.t
-SHA1 64c6c0c37a7c193939c8aa6ed4276218dc77a6a0 t/family.t
-SHA1 0e141eecf3ca4903ef38d9413b5403a9ddb0392f t/pod_cvg.t
-SHA1 74a957cd8b93f25672ecc6aa578a671d084dd343 t/pod_syn.t
-SHA1 8ef086a24068f32855e337e6a9d493135785f883 t/subkey.t
-SHA1 7892bb05837bab222dbf3ba93d4fb076dc5ad586 t/uklblowfish.t
-SHA1 b26fdaaf35efc7d7de03610e1d0c72f18b9c8137 t/utf8.t
+SHA1 816c7b280b5756b9e4a91b53542218d90ae7bc4a lib/Crypt/Eksblowfish.pm
+SHA1 30385869643dbf1ae13cca68d242bbb26e507f7b lib/Crypt/Eksblowfish.xs
+SHA1 1e472a5263e35591c63e4924a1cd89782d6b24ce lib/Crypt/Eksblowfish/Bcrypt.pm
+SHA1 42896ef4a196e01a58b27bd7e0fc6b00bbe3218f lib/Crypt/Eksblowfish/Blowfish.pm
+SHA1 e5dc5f1779ab8852a9132d38d07ee047d9d68ef7 lib/Crypt/Eksblowfish/Family.pm
+SHA1 8ce83e9805152c826e23e00f0221728c68642948 lib/Crypt/Eksblowfish/Subkeyed.pm
+SHA1 37ea8bbe887befa6b2682fa88bf15a2dea6252b6 lib/Crypt/Eksblowfish/Uklblowfish.pm
+SHA1 fc61296b16be35687dfe8dc25868927ecbda5186 t/base64.t
+SHA1 2982289d98db3f0328f31e3a5e1ad49d3344fbff t/bcrypt.t
+SHA1 965c1c785b1e5c3ce0fa0d54cd65af72813e396d t/bcrypt_hash.t
+SHA1 85e1ac18310b6a0fa01b5d78dd4ead89c765fbf0 t/blowfish.t
+SHA1 a23c99f053c821c932513c8c9ef97da4cec4df28 t/eksblowfish.t
+SHA1 23077a7069fcb22dee7a8bde5f7de29bfa86e839 t/family.t
+SHA1 904d9a4f76525e2303e4b0c168c68230f223c8de t/pod_cvg.t
+SHA1 65c75abdef6f01a5d1588a307f2ddfe2333dc961 t/pod_syn.t
+SHA1 e609e4d8ea71964f400a8db6e3a02e9792c73677 t/subkey.t
+SHA1 e761a97727f8bf7238e5d8553f78575f8cc6d364 t/uklblowfish.t
+SHA1 7b673ca24bf62de6e7550aa7b19ed92e96dc0a78 t/utf8.t
SHA1 7ad478ba2f46a8291fd098976ea1cebc39db5971 typemap
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
+Version: GnuPG v1.4.10 (GNU/Linux)
-iEYEARECAAYFAkuZRmUACgkQOV9mt2VyAVEreQCfQuFrg4r4epQt/3tUtSEiOknn
-Fr8AnjCgz/iMTMgDZoAi3BhB4Vl9C6XY
-=L1Rz
+iEYEARECAAYFAk24d8IACgkQOV9mt2VyAVFYHQCdEsi0g7BAoO0rXXz93sZL2qfy
+Vo4AnjrlDqWl1g4QL40L+7tM/aPHe7sY
+=mEj6
-----END PGP SIGNATURE-----
@@ -42,7 +42,7 @@ use Carp qw(croak);
use Crypt::Eksblowfish 0.005;
use MIME::Base64 2.21 qw(encode_base64 decode_base64);
-our $VERSION = "0.008";
+our $VERSION = "0.009";
use parent "Exporter";
our @EXPORT_OK = qw(bcrypt_hash en_base64 de_base64 bcrypt);
@@ -177,7 +177,7 @@ Andrew Main (Zefram) <zefram@fysh.org>
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
=head1 LICENSE
@@ -43,7 +43,7 @@ package Crypt::Eksblowfish::Blowfish;
use warnings;
use strict;
-our $VERSION = "0.008";
+our $VERSION = "0.009";
use parent "Crypt::Eksblowfish::Subkeyed";
@@ -140,7 +140,7 @@ Modifications and Perl interface by Andrew Main (Zefram)
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
The original Eksblowfish code (in the form of crypt()) from which
@@ -75,7 +75,7 @@ use Carp qw(croak);
use Crypt::Eksblowfish 0.005;
use Class::Mix 0.001 qw(genpkg);
-our $VERSION = "0.008";
+our $VERSION = "0.009";
=head1 CONSTRUCTOR
@@ -185,7 +185,8 @@ sub as_class {
my $pkg = genpkg(__PACKAGE__."::");
no strict "refs";
@{"${pkg}::ISA"} = (ref($self));
- *{"${pkg}::new_family"} = sub { croak $_[0]."->new_family called" };
+ *{"${pkg}::new_family"} =
+ sub { croak $_[0]."->new_family called" };
*{"${pkg}::cost"} = sub { $self->cost };
*{"${pkg}::salt"} = sub { $self->salt };
*{"${pkg}::new"} = sub { shift; $self->new(@_) };
@@ -207,7 +208,7 @@ Andrew Main (Zefram) <zefram@fysh.org>
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
=head1 LICENSE
@@ -72,7 +72,7 @@ use strict;
use XSLoader;
-our $VERSION = "0.008";
+our $VERSION = "0.009";
XSLoader::load("Crypt::Eksblowfish", $VERSION);
@@ -179,7 +179,7 @@ Modifications and Perl interface by Andrew Main (Zefram)
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
The original Eksblowfish code (in the form of crypt()) from which
@@ -74,7 +74,7 @@ package Crypt::Eksblowfish::Uklblowfish;
use warnings;
use strict;
-our $VERSION = "0.008";
+our $VERSION = "0.009";
use parent "Crypt::Eksblowfish::Subkeyed";
@@ -164,7 +164,7 @@ Modifications and Perl interface by Andrew Main (Zefram)
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
The original Eksblowfish code (in the form of crypt()) from which
@@ -47,7 +47,7 @@ package Crypt::Eksblowfish;
use warnings;
use strict;
-our $VERSION = "0.008";
+our $VERSION = "0.009";
use parent "Crypt::Eksblowfish::Subkeyed";
@@ -140,7 +140,7 @@ Modifications and Perl interface by Andrew Main (Zefram)
=head1 COPYRIGHT
-Copyright (C) 2006, 2007, 2008, 2009, 2010
+Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
Andrew Main (Zefram) <zefram@fysh.org>
The original Eksblowfish code (in the form of crypt()) from which
@@ -1,3 +1,4 @@
+#define PERL_NO_GET_CONTEXT 1
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
@@ -348,7 +349,8 @@ static const BF_key_schedule BF_init_state = {
}
};
-#if defined(__i386__) || defined(__x86_64__) || defined(__alpha__) || defined(__hppa__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__alpha__) || \
+ defined(__hppa__)
/* Architectures which can shift addresses left by 2 bits with no extra cost */
#define BF_ROUND(L, R, N) \
tmp1 = L & 0xFF; \
@@ -562,8 +564,10 @@ static void setup_blowfish_ks(const unsigned char *key, size_t keylen,
munge_subkeys(ks);
}
-static void sv_to_octets(U8 **octets_p, STRLEN *len_p, bool *must_free_p,
- SV *sv)
+#define sv_to_octets(octets_p, len_p, must_free_p, sv) \
+ THX_sv_to_octets(aTHX_ octets_p, len_p, must_free_p, sv)
+static void THX_sv_to_octets(pTHX_ U8 **octets_p, STRLEN *len_p,
+ bool *must_free_p, SV *sv)
{
U8 *in_str = (U8*)SvPV(sv, *len_p);
bool is_utf8 = !!SvUTF8(sv);
@@ -580,9 +584,12 @@ typedef BF_key_schedule *Crypt__Eksblowfish__Uklblowfish;
MODULE = Crypt::Eksblowfish PACKAGE = Crypt::Eksblowfish::Subkeyed
+PROTOTYPES: DISABLE
+
int
blocksize(SV *invocant)
CODE:
+ PERL_UNUSED_VAR(invocant);
RETVAL = 8;
OUTPUT:
RETVAL
@@ -668,6 +675,7 @@ PREINIT:
AV *parray, *sboxes;
int i, j;
CODE:
+ PERL_UNUSED_VAR(classname);
if(!SvROK(parray_sv))
croak("P-array argument must be reference");
parray = (AV *)SvRV(parray_sv);
@@ -720,6 +728,7 @@ OUTPUT:
Crypt::Eksblowfish::Subkeyed
new_initial(SV *classname)
CODE:
+ PERL_UNUSED_VAR(classname);
Newx(RETVAL, 1, BF_key_schedule);
memcpy(RETVAL, &BF_init_state, sizeof(BF_init_state));
OUTPUT:
@@ -735,6 +744,7 @@ PREINIT:
bool salt_tofree, key_tofree;
U8 salt[16];
CODE:
+ PERL_UNUSED_VAR(classname);
if(cost > 31)
croak("cost parameters greater than 31 are not supported yet");
sv_to_octets(&salt_octets, &salt_len, &salt_tofree, salt_sv);
@@ -765,6 +775,7 @@ PREINIT:
U8 *key_octets;
bool key_tofree;
CODE:
+ PERL_UNUSED_VAR(classname);
sv_to_octets(&key_octets, &key_len, &key_tofree, key_sv);
if(key_len < 4 || key_len > 56) {
if(key_tofree) Safefree(key_octets);
@@ -785,6 +796,7 @@ PREINIT:
U8 *key_octets;
bool key_tofree;
CODE:
+ PERL_UNUSED_VAR(classname);
sv_to_octets(&key_octets, &key_len, &key_tofree, key_sv);
if(key_len < 1 || key_len > (BF_N + 2) * 4) {
if(key_tofree) Safefree(key_octets);
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 49;
BEGIN { use_ok "Crypt::Eksblowfish::Bcrypt", qw(en_base64 de_base64); }
@@ -12,6 +15,8 @@ while(<DATA>) {
is de_base64($base64), $bytes;
}
+1;
+
__DATA__
25 HO
6b11 YvC
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 69;
BEGIN { use_ok "Crypt::Eksblowfish::Bcrypt", qw(bcrypt); }
@@ -11,6 +14,8 @@ while(<DATA>) {
isnt bcrypt($_, $settings), $settings.$hash foreach (@wrong_passwords);
}
+1;
+
__DATA__
$2$05$CCCCCCCCCCCCCCCCCCCCC. 7uG0VCzI2bS7j6ymqJi9CdcdxiRTWNy
$2$07$aba.............kC2SI. cbHK1ODT5F77pYUqRNV63bd/IDxsTXq 0
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 3;
BEGIN { use_ok "Crypt::Eksblowfish::Bcrypt", qw(bcrypt_hash); }
@@ -9,3 +12,5 @@ is bcrypt_hash({ key_nul => 0, cost => 5, salt => "abcdefghijklmnop" },
is bcrypt_hash({ key_nul => 1, cost => 6, salt => "ABCDEFGHIJKLMNOP" },
"Libelar! Timmah!"),
pack("H*", "2b7453cbc43bc27cb59c1a1a2ce520d79557f7a1a17b9b");
+
+1;
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 13 + 6*59;
BEGIN { use_ok "Crypt::Eksblowfish::Blowfish"; }
@@ -29,6 +32,8 @@ while(<DATA>) {
is !!$cipher->is_weak, $key eq pack("H*", "88b824049795f021");
}
+1;
+
__DATA__
0000000000000000 4ef997456198dd78 0000000000000000
ffffffffffffffff 51866fd5b85ecb8a ffffffffffffffff
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 12 + 6*11;
BEGIN { use_ok "Crypt::Eksblowfish"; }
@@ -29,6 +32,8 @@ while(<DATA>) {
is !!$cipher->is_weak, $key eq pack("H*", "67df71d0acdcbef5");
}
+1;
+
__DATA__
0 77b5a8e66bf437f3d03cc6b4cdc7d429 5bb0131eefeb17f7 3f6fdaddcd605c01 13ffc413d7ed649a8551
1 cfd2fe88ead6a5a8dca9523889081f39 ea936213788e916d 0999967ad37fcca1 af5d
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 2 + 26*10;
BEGIN { use_ok "Crypt::Eksblowfish::Family"; }
@@ -42,6 +45,8 @@ while(<DATA>) {
is $pkg->as_class, $pkg;
}
+1;
+
__DATA__
0 77b5a8e66bf437f3d03cc6b4cdc7d429 5bb0131eefeb17f7 3f6fdaddcd605c01 13ffc413d7ed649a8551
1 cfd2fe88ead6a5a8dca9523889081f39 ea936213788e916d 0999967ad37fcca1 af5d
@@ -1,4 +1,9 @@
+use warnings;
+use strict;
+
use Test::More;
plan skip_all => "Test::Pod::Coverage not available"
unless eval "use Test::Pod::Coverage; 1";
Test::Pod::Coverage::all_pod_coverage_ok();
+
+1;
@@ -1,3 +1,8 @@
+use warnings;
+use strict;
+
use Test::More;
plan skip_all => "Test::Pod not available" unless eval "use Test::Pod 1.00; 1";
Test::Pod::all_pod_files_ok();
+
+1;
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 42 + 6*10;
BEGIN { use_ok "Crypt::Eksblowfish::Subkeyed"; }
@@ -77,6 +80,8 @@ while(<DATA>) {
is $tcipher->decrypt($tct), $pt;
}
+1;
+
__DATA__
c2e05cec152b7f84 e7ae62039464d1a3 95360a60c9d8ae55
8f2a4b8beb786d34 b268b3c6cd763b9b 1cbfcb33912e6aad
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 10 + 6*61;
BEGIN { use_ok "Crypt::Eksblowfish::Uklblowfish"; }
@@ -26,6 +29,8 @@ while(<DATA>) {
is !!$cipher->is_weak, $key eq pack("H*", "88b824049795f021");
}
+1;
+
__DATA__
0000000000000000 4ef997456198dd78 0000000000000000
ffffffffffffffff 51866fd5b85ecb8a ffffffffffffffff
@@ -1,3 +1,6 @@
+use warnings;
+use strict;
+
use Test::More tests => 8;
BEGIN { use_ok "Crypt::Eksblowfish"; }
@@ -43,3 +46,5 @@ SKIP: {
is $cipher->encrypt($tblk), $cipher->encrypt($ublk);
is $cipher->decrypt($tblk), $cipher->decrypt($ublk);
}
+
+1;